package jtg.state;

import com.microsoft.z3.BoolExpr;
import com.microsoft.z3.Expr;
import javafx.util.Pair;
import soot.Unit;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

public class BranchPathState extends PathState{

    public List<Pair<Unit,Unit>> branchRecord;

    public BranchPathState(List<BoolExpr> pathConstraints, Map<String, Expr> params, Map<String, Integer> paramLatestMap, Unit node, List<Unit> unitPath) {
        super(pathConstraints, params, paramLatestMap, node, unitPath);
        this.branchRecord = new ArrayList<>();
    }

    public BranchPathState(BranchPathState pathState) {
        super(pathState);
        this.branchRecord = new ArrayList<>(pathState.branchRecord);
    }

    public BranchPathState(Unit node) {
        super(node);
        this.branchRecord = new ArrayList<>();
    }
}
